package cn.DesignModel.observer02;

/**
 * @author: lizemin
 * @version: 1.0
 * 抽象被观察者
 * 提供了attach、detach、notify三个方法：
 * 被观察者将观察者添加到集合中，为什么是被观察者做这个呢？因为观察者没法将自己添加到集合之中。
 */
public interface Subject {
    /**
     * 增加订阅者
     * @param observer
     */
    void attach(Observer observer);
    /**
     * 删除订阅者
     * @param observer
     */
    void detach(Observer observer);

    /**
     * 通知订阅者更新消息，观察者无法通知自己。
     */
    void notify(String message);


}
